#include <myheader_c_plus.h>
using std::endl;
using std::cout;
class A{
public:
    virtual void print() = 0;
    virtual void display() = 0;

};

class B : public A{
public:
    virtual void print() override{
        cout << "B::print" << endl;
    }
    
    virtual void display() override{
        cout << "B::display()" << endl;
    }
};

class C : public B{
public:
    virtual void display() override{
        cout << "C::display" << endl;
    }
};
int main(int argc, char *argv[])
{
    B b;
    C c;
    A * pa = &b;
    pa->print();
    pa->display();
    B * pb = &c;
    pb->display();
    pb->print();
    return 0;
}

